// 对于数据请求的封装
import axios from 'axios'
import { Toast } from 'vant'
// function httpForList () {
//   return axios({
//     url: 'https://m.maizuo.com/gateway?cityId=310100&pageNum=1&pageSize=10&type=1&k=2024520',
//     headers: {
//       'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"172914982913636894826954753","bc":"310100"}',
//       'X-Host': 'mall.film-ticket.film.list'
//     }
//   })
// }

// function httpForDetail (params) {
//   return axios ({
//     url: `https://m.maizuo.com/gateway?filmId=${ params }&k=7337259`,
//     headers: {
//       'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"172914982913636894826954753","bc":"310100"}',
//       'X-Host': 'mall.film-ticket.film.info'
//     }
//   })
// }

const http = axios.create({
  baseURL: 'https://m.maizuo.com',
  timeout: 10000,
  headers: {
    'X-Client-Info': '{"a":"3000","ch":"1002","v":"5.2.1","e":"172914982913636894826954753","bc":"310100"}'
  }
})

// 在发请求之前拦截 -- showLoading
// 添加请求拦截器
http.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  // console.log(config)
  Toast.loading({ // 加载提示，Toast不是组件，是个函数。
    message: '加载中...',
    forbidClick: true,
    duration: 0
  })
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 在成功后拦截 -- hideLoading
// 添加响应拦截器
http.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  Toast.clear() // 请求数据成功关闭加载提示
  return response
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  Toast.clear() // 请求数据失败关闭加载提示
  return Promise.reject(error)
})

export default http
